﻿//创建人：longb
//日期：2022-07-07
//描述：部组件入库
var page = {
    pagetotal: 0,
    pageSize: 20,
    pageNumber: 1,
    index: null,
    rootPath: getRootPath(), //网站根路径
    ajaxUrl: getRootPath() + "/Ashx/ZsHandler/ZSGJCheckSubmitBillHandler.ashx",
    //初始化页面
    init: function () {
        page.bind();
        customizedEasyuiPagination('pp'); //定制化分页
        page.intiMonthBox('YearMonth');
//        $('#pageSize').combobox({
//                data:[{id:20,text:20},{id:50,text:50},{id:100,text:100}],
//                valueField:'id',
//                textField:'text',
//                onSelect:function(record){
//                    page.pageSize=record.text;
//                }
//            });
    },
    //页面事件绑定
    bind: function () {
        $('#OrderTabel').datagrid({
            checkOnSelect: true,
            selectOnCheck: false,
            singleSelect: true,
            rownumbers: true,
            onLoadSuccess: function (data) {
                $('#pp').pagination('refresh', {	// 改变选项，并刷新分页栏信息
                    total: page.pagetotal,
                    pageSize: page.pageSize,
                    pageNumber: page.pageNumber
                });
                customizedEasyuiPagination('pp'); //定制化分页
            },
            columns: [[
              // { field: 'ck', title: '选择', checkbox: true },
                 { field: 'MFGORDERNAME', title: '生产订单号', width: 140 },
		         { field: 'CONTAINERNO', title: '任务单号', width: 140 },
                 { field: 'PRODUCTNAME', title: '部组件件号', width: 90 },
                 { field: 'DESCRIPTION', title: '部组件名称', width: 100 },
                 { field: 'QTY', title: '部组件数量', width: 80 },
		         { field: 'ORDERTYPENAME', title: '任务类型', width: 90, align: 'center' },
                 { field: 'ATTRIBUTEVALUE', title: '发动机号', width: 100 },
                 { field: 'PRODUCTFAMILYNAME', title: '型别', width: 90 },
                 { field: 'PLANNEDSTARTDATE', title: '计划开始日期', width: 130 },
                 { field: 'PLANNEDCOMPLETIONDATE', title: '计划完成日期', width: 130 },
                 { field: 'FACTORYMONTH', title: '分厂计划月份', width: 100 },
                 { field: 'FACTORYSTARDATE', title: '分厂计划开始日期', width: 130 },
                 { field: 'FACTORYCOMPLETIONDATE', title: '分厂计划完成日期', width: 130 },
                ]],
            onSelect: function (index, row) {
                //$("#OrderTabel").datagrid("uncheckAll").datagrid("checkRow", index);
            },
        });
        //分页事件
        $('#pp').pagination({
            onSelectPage: function (pageNumber, pageSize) {
                customizedEasyuiPagination('pp'); //定制化分页
                page.pageSize = pageSize; page.pageNumber = pageNumber;
                page.GetMfgOrderParts();
            }
        });
        //绑定分页go按钮
        $('#pageGo').on("click", function () {
            var pageNumber = $(this).parents('tr').find('.pagination-num').val();
            //page.pageSize=$('#pageSize').combobox('getText');
            page.pageNumber = pageNumber;
            page.GetMfgOrderParts();
        });
        //清除按钮
        $('#btnReset').on("click", function () {
            page.reset(true, true);
            page.pageNumber = 1; page.pagetotal = 0
            $('#pp').pagination('refresh', {
                total: page.pagetotal,
                pageSize: page.pageSize,
                pageNumber: page.pageNumber
            });
        });
    },
    //查询
    searchData: function () {
        clearMessage();
        page.pageNumber = 1;
        page.GetMfgOrderParts();
    },
    //查询重置
    searchReset: function () {
        $('#searchForm').form('clear');
        //page.bind();
        clearMessage();
    },
    //查询任务单信息
    GetMfgOrderParts: function () {
        var frdata = $('#searchForm').serializeArray();
        var data = {};
        $.each(frdata, function () {
            data[this.name] = this.value
        });
        var param = {
            action: "GetMfgOrderParts",
            pageSize: page.pageSize,
            pageNumber: page.pageNumber,
            data: JSON.stringify([data])
        };
        page.post(param, function (res) {
            page.pagetotal = res.RowCount;
            $('#OrderTabel').datagrid('loadData', res.DBTable);
        });
    },
    SubmitParts:function(){
        var row=$('#OrderTabel').datagrid('getSelected');
        if(row==null){displayMessage("请选择一条记录再进行操作", false);return;}
        var ProductBatchNo=$('#ProductBatchNo').textbox("getValue");
        if(ProductBatchNo==""){displayMessage("请输入部组件批次号，再进行提交", false);return;}
        row.ProductBatchNo=ProductBatchNo;
        var param = {
            action: "SubmitParts",
            data: JSON.stringify([row])
        };
        page.post(param, function (res) {
            if(res.Result){$('#ProductBatchNo').textbox("setValue","");}
           displayMessage(res.Message, res.Result)
        });
    },
   intiMonthBox:function(id){
        var db = $('#'+id);
        db.datebox({
               onShowPanel: function () {//显示日趋选择对象后再触发弹出月份层的事件，初始化时没有生成月份层
                   span.trigger('click'); //触发click事件弹出月份层
                   if (!tds) setTimeout(function () {//延时触发获取月份对象，因为上面的事件触发和对象生成有时间间隔
                       tds = p.find('div.calendar-menu-month-inner td');
                       tds.click(function (e) {
                           e.stopPropagation(); //禁止冒泡执行easyui给月份绑定的事件
                           var year = /\d{4}/.exec(span.html())[0]//得到年份
                           , month = parseInt($(this).attr('abbr'), 10); //月份，这里不需要+1
                           if(month<10){month='0'+month;}
                           db.datebox('hidePanel')//隐藏日期对象
                           .datebox('setValue', year + '-' + month); //设置日期的值
                       });
                   }, 0);
                   yearIpt.unbind();//解绑年份输入框中任何事件
               },
               parser: function (s) {
                   if (!s) return new Date();
                   var arr = s.split('-');
                   return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);
               },
               formatter: function (d) {
                   var month=(d.getMonth() + 1);
                   return d.getFullYear() + '-' +(month<10?'0'+month:month) ;
               }
           });
           var p = db.datebox('panel'), //日期选择对象
               tds = false, //日期选择对象中月份
               yearIpt = p.find('input.calendar-menu-year'),//年份输入框
               span = p.find('span.calendar-text'); //显示月份层的触发控件    
   },
    //清除方法，重要！！！
    reset: function (iscondition, isresult) {
        clearMessage();
    },
    //post数据
    post: function (param, callback) {
        $.ajax({
            type: "Post",
            url: page.ajaxUrl,
            data: param,
            cashe: false,
            async: true,
            dataType: "json",
            beforeSend: function () {
                $.messager.progress({ text: '', msg: '处理中...' });
            },
            success: function (data) {
                $.messager.progress('close');
                callback(data);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $.messager.progress('close');
                displayMessage(XMLHttpRequest.responseText, false);
            }
        });
    }
}
$(function () {
    page.init();
});